// pages/profile/index.ts
Page({
  onLoad() {
    this.setData({
      avatar: decodeURIComponent(this.options.avatar),
      nickName: this.options.nickName
    })
  },
  // navbar返回
  back() {
    wx.navigateBack()
    this.eventBus = this.getOpenerEventChannel()
    this.eventBus.emit('update-avatar', { avatar: this.data.avatar })
  },

  // 用户直接输入内容，用户选择微信昵称
  async nickNameHandler(ev) {
    this.setData({
      nickName: ev.detail.value
    })
    // 同步后台
    await wx.http({
      url: '/userInfo',
      method: 'PUT',
      data: {
        nickName: ev.detail.value
      }
    })
    // 修改个人中心数据
    const pages = getCurrentPages()
    const prevPages = pages[pages.length - 2]
    prevPages.setData({
      nickName: ev.detail.value
    })
  },
  // 上传头像
  chooseAvatar(e) {
    this.setData({
      avatar: e.detail.avatarUrl
    })

    // 同步后台, 参考文档 
    // https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/wx.uploadFile.html
    wx.uploadFile({
      filePath: e.detail.avatarUrl, // 要上传文件资源的路径 (本地路径)
      name: 'file', // 文件对应的 key，开发者在服务端可以通过这个 key 获取文件的二进制内容
      url: wx.http.baseURL + '/upload', // 开发者服务器地址
      formData: {
        type: 'avatar'
      },
      header: {
        Authorization: 'Bearer ' + getApp().token
      },
      success: (res) => {
        return
        // const {
        //   data: {
        //     url
        //   }
        // } = JSON.parse(res.data)

        // 修改个人中心数据
        // const pages = getCurrentPages()
        // const prevPages = pages[pages.length - 2]
        // prevPages.setData({
        //   avatar: url
        // })
        // wx.toast('图片上传成功')
        // this.setData({
        //   avatar: url
        // })

      },
      fail: () => {
        wx.toast('图片上传失败')
      }
    })
  }

})